package com.logistics.service;

import com.logistics.common.Result;
import com.logistics.entity.Warehouse;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;

public interface WarehouseService {
    
    /**
     * 创建仓库
     */
    Result<Warehouse> create(Warehouse warehouse);
    
    /**
     * 根据ID获取仓库
     */
    Result<Warehouse> getById(Long id);
    
    /**
     * 根据名称获取仓库
     */
    Result<Warehouse> getByName(String name);
    
    /**
     * 获取仓库列表
     */
    Result<List<Warehouse>> list();
    
    /**
     * 搜索仓库
     */
    Result<List<Warehouse>> search(String name, Integer status);
    
    /**
     * 更新仓库
     */
    Result<Warehouse> update(Warehouse warehouse);
    
    /**
     * 删除仓库
     */
    Result<Void> delete(Long id);
    
    /**
     * 更新仓库已用容量
     */
    Result<Void> updateUsedCapacity(Long id, BigDecimal usedCapacity);
    
    Result<List<Map<String, Object>>> listWarehouses();
} 